/*
 * 
 * Libman
 * 
 * Daniel Kaufmann, Martin Lang, Simon Moosbrugger,
 * Stefan Mayer, Stephan Halbeisen
 * 
 */
package model;

import java.util.Date;

/**
 * The Class Reservation.
 */
public class Reservation implements java.io.Serializable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;
	
	/** The id. */
	private Integer id;
	
	/** The client. */
	private Client client;
	
	/** The medium. */
	private Medium medium;
	
	/** The reservation date. */
	private Date reservationDate;

	/**
	 * Instantiates a new reservation.
	 */
	public Reservation() {
	}

	/**
	 * Instantiates a new reservation.
	 * 
	 * @param client
	 *            the client
	 * @param medium
	 *            the medium
	 * @param reservationDate
	 *            the reservation date
	 */
	public Reservation(Client client, Medium medium, Date reservationDate) {
		this.client = client;
		this.medium = medium;
		this.reservationDate = reservationDate;
	}

	/**
	 * Gets the id.
	 * 
	 * @return the id
	 */
	public Integer getId() {
		return this.id;
	}

	/**
	 * Sets the id.
	 * 
	 * @param id
	 *            the new id
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * Gets the client.
	 * 
	 * @return the client
	 */
	public Client getClient() {
		return this.client;
	}

	/**
	 * Sets the client.
	 * 
	 * @param client
	 *            the new client
	 */
	public void setClient(Client client) {
		this.client = client;
	}

	/**
	 * Gets the medium.
	 * 
	 * @return the medium
	 */
	public Medium getMedium() {
		return this.medium;
	}

	/**
	 * Sets the medium.
	 * 
	 * @param medium
	 *            the new medium
	 */
	public void setMedium(Medium medium) {
		this.medium = medium;
	}

	/**
	 * Gets the reservation date.
	 * 
	 * @return the reservation date
	 */
	public Date getReservationDate() {
		return this.reservationDate;
	}

	/**
	 * Sets the reservation date.
	 * 
	 * @param reservationDate
	 *            the new reservation date
	 */
	public void setReservationDate(Date reservationDate) {
		this.reservationDate = reservationDate;
	}
}
